﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

using data = Golem.Indexer.Data;

namespace Golem.Indexer.Data
{
    public interface IDatabase
    {
        bool IsDatabaseReady();
        void InitDatabase();

        void Close();
        void UpdateMachineState(MachineDescriptor machine);
        void WriteFiles(MachineDescriptor machine, Protocol protocol, List<FileDescriptor> files);
        void CreateProtocol(MachineDescriptor machine, Protocol protocol);
        void DoPermanentProtocolData(MachineDescriptor machine, Protocol protocol);
        SearchResult DoFulltextSearch(string query, IEnumerable<string> types = null);
    }
}
